package com.molichuxing.services.business.dto.request.create;

import com.molichuxing.framework.dto.RequestRootDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 生成专用条款和补充协议
 * </p>
 *
 * @author
 * @since 2019-10-09
 */
@Data
public class ContractSupplementBizCreateDto extends RequestRootDto {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "专用条款模板id，不用传参")
    private Integer contractDedicatedId;

    @ApiModelProperty(value = "补充协议模板id，不用传参")
    private Integer contractSupplementId;

    @ApiModelProperty(value = "甲方")
    private String partyAName;

    @ApiModelProperty(value = "甲方id")
    private Long partyAId;

    @ApiModelProperty(value = "甲方联系地址")
    private String partyAAddress;

    @ApiModelProperty(value = "乙方")
    private String partyBName;

    @ApiModelProperty(value = "乙方id")
    private Long partyBId;

    @ApiModelProperty(value = "证件类型")
    private String partyBType = "身份证";

    @ApiModelProperty(value = "乙方身份证号")
    private String partyBCard;

    @ApiModelProperty(value = "乙方通信地址")
    private String partyBAddress;

    @ApiModelProperty(value = "乙方电话")
    private String partyBPhone;

    @ApiModelProperty(value = "丙方名称")
    private String partyCName = "北京茉莉出行科技有限公司";

    @ApiModelProperty(value = "丙方联系地址")
    private String partyCAddress = "北京市朝阳区左家庄北里58号国维大厦10层";

    @ApiModelProperty(value = "通用条款合同编号")
    private String contractNumber;

    @ApiModelProperty(value = "专用条款合同编号")
    private String dedicateNumber;

    @ApiModelProperty(value = "补充协议合同编号")
    private String supplementaryNumber;

    @ApiModelProperty(value = "签订日期 或 交接时间")
    private String signingDate;

    @ApiModelProperty(value = "租赁产品名称")
    private String goodsName;

    @ApiModelProperty(value = "车辆品牌")
    private String brand;

    @ApiModelProperty(value = "车型")
    private String modelName;

    @ApiModelProperty(value = "车辆生产商")
    private String manufacturer;

    @ApiModelProperty(value = "车辆颜色")
    private String colorName;

    @ApiModelProperty(value = "车架号")
    private String vin;

    @ApiModelProperty(value = "车牌号")
    private String licencePlate;

    @ApiModelProperty(value = "交接地点")
    private String deliveryAddress;

    @ApiModelProperty(value = "租期")
    private Integer lease;

    @ApiModelProperty(value = "月租金")
    private BigDecimal cartFee;

    @ApiModelProperty(value = "租赁费用总计")
    private BigDecimal totalFee;

    @ApiModelProperty(value = "租赁费用大写")
    private String totalFeeUpper;

    @ApiModelProperty(value = "过户费")
    private BigDecimal transferFee;

    @ApiModelProperty(value = "过户费大写")
    private String transferFeeUpper;

    @ApiModelProperty(value = "保证金")
    private BigDecimal depositFee;

    @ApiModelProperty(value = "保证金大写")
    private String depositFeeUpper;

    @ApiModelProperty(value = "其他费用")
    private BigDecimal otherFee = new BigDecimal(0);

    @ApiModelProperty(value = "其他费用")
    private String otherFeeUpper = "零元";

    @ApiModelProperty(value = "回购价格")
    private BigDecimal repurchaseFee;

    @ApiModelProperty(value = "回购价格大写")
    private String repurchaseFeeUpper;

    @ApiModelProperty(value = "双方确认保底回购价格")
    private BigDecimal guaranteeFee;

    @ApiModelProperty(value = "最大扣减金额")
    private BigDecimal depletionFee;

    @ApiModelProperty(value = "是否担保")
    private String isGuarantee;

    @ApiModelProperty(value = "是否有担保人 0 ：无，1 ：有")
    private Integer isWarrantor;

    @ApiModelProperty(value = "担保方式")
    private String guaranteeType;

    @ApiModelProperty(value = "保证人姓名")
    private String warrantorName;

    @ApiModelProperty(value = "保证人联系方式")
    private String warrantorPhone;

    @ApiModelProperty(value = "保证人身份证号")
    private String warrantorCard;

    @ApiModelProperty(value = "保证人录入的通信地址")
    private String warrantorAddress;

    @ApiModelProperty(value = "还款计划日期")
    private String repaymentDate;

    @ApiModelProperty(value = "年")
    private String signingYear;

    @ApiModelProperty(value = "月")
    private String signingMonth;

    @ApiModelProperty(value = "日")
    private String signingDay;

    @ApiModelProperty(value = "专用条款年")
    private String dedicatedSigningYear;

    @ApiModelProperty(value = "专用条款月")
    private String dedicatedSigningMonth;

    @ApiModelProperty(value = "专用条款日")
    private String dedicatedSigningDay;

    @ApiModelProperty(value = "签署地点")
    private String signPlace = "北京  市  海淀  区";

    @ApiModelProperty(value = "订单id")
    private String orderId;

    @ApiModelProperty(value = "订单code")
    private Long orderCode;

    @ApiModelProperty(value = "合同签订日期")
    private LocalDateTime signedTime;

    @ApiModelProperty(value = "合同到期日期")
    private LocalDate endTime;

    @ApiModelProperty(value = "合同生效日期")
    private LocalDate effectiveTime;

    @ApiModelProperty(value = "业务类型(1:订阅里程,2:专属里程,3:经销商)")
    private Integer businessType;

    @ApiModelProperty(value = "乙方邮箱地址")
    private String userEmail;

    @ApiModelProperty(value = "第三者责任险金额")
    private String liabilityAmount;

}
